사물인터넷(IoT: Internet of Things)과 블록체인
0. 개요(Overview)
사물 인터넷(IoT: Internet of Things)은 전자 시스템, 소프트웨어, 센서 등을 내장한 기기(devices), 차량(vehicles), 빌딩(buildings) 등이 네트워크에 연결되어 데이터를 수집하고 수집된 데이터를 교환하는 물리적 사물의 네트워크를 말한다. 사물 인터넷은 컴퓨터와 스마트폰뿐만 아니라 냉장고, 에어컨, TV, 세탁기, 도어락, 전등, 카메라, 자동차 등 다양한 사물들을 네트워크에 연결시키고 데이터를 바탕으로 우리의 삶을 더욱 풍요롭게 하고 다양한 비즈니스를 혁신시킬 것으로 기대된다. 기술 전문 연구 및 컨설팅 기업 가트너(Gartner)는 2017년 약 84억개의 사물들이 사물 인터넷을 통해 연결될 것으로 예상하였으며 2020년까지 200억개 이상의 사물들이 서로 연결되어 관련 제품 및 서비스 매출이 약 3조 달러에 이를 것으로 전망하고 있다.
하지만 사물 인터넷이 확산되고 수많은 스마트 사물들이 서로 연결되어 방대한 양의 데이터를 서로 공유하게 되면 다양한 문제가 발생할 수 있다. 특히 보안(security) 및 안전(safety) 문제와 사생활(privacy) 침해의 문제가 두드러진다. 실제로 2016년 10월 인터넷 도메인 서비스 업체인 딘(Dyn)이 대규모 디도스(DDoS) 공격을 받아 CNN, 넷플릭스, 핀터레스트, 레딧, 트위터 등 미국 동부지역에 근거지를 두고 있는 주요 웹 사이트에서 장애가 발생했다. 이는 미아리(Miari)라 불리는 IoT 봇넷(botnet)이 인터넷에 연결된 보안이 취약한 기기들을 해킹하여 이들을 통해 디도스 공격을 시행한 것이다. 이와 더불어 최근 우리나라에서는 가정에 설치한 IP 카메라를 중국에서 해킹해 국내 여성을 찍은 영상들이 중국 성인 사이트에 무더기로 올라간 사건도 있었을 정도로 사물 인터넷 시대에 보안과 사생활 문제는 매우 중요할 것이다.
또한 이 뿐만 아니라 물리적 센서를 통해 획득된 방대한 양의 데이터를 누가 소유할 것인지에 대한 데이터 소유권의 문제와 수집된 데이터를 바탕으로 어떻게 효율적이고 공정한 수익 모델을 만들 수 있을 것인지에 대한 수익 모델의 문제 또한 사물 인터넷 시대에 매우 중요할 전망이다. 마지막으로 인공지능(AI)이 발전함에 따라 각 사물들이 스스로 판단하고 행동하는 경우가 많아질 텐데 이 때 각 사물간의 경제활동은 어떠한 형식으로 어떠한 플랫폼을 사용해서 이루어질지도 사물 인터넷 시대에 매우 중요한 문제이다.
1. 사용사례(Use Cases)
1.1. 기기의 신원관리(identity management)
사물 인터넷 시대에는 스마트 사물들이 내장된 칩을 통해 주변의 사물들과 다양한 방식으로 상호작용하게 될 것이다. 보다 구체적으로 사물들은 1. 서로 정보를 전달하고 2. 각종 계약을 체결하고 체결된 계약을 이행하며 이를 바탕으로 3. 다양한 형태의 경제활동을 독자적으로 수행할 것이다. 이 때 효율적이고 안전한 정보전달 및 계약체결의 필수조건은 상호간의 신원을 확인하여 신뢰를 확보하는 것이다.
중앙서버를 기반으로 한 기존의 신원관리 시스템은 수백억개의 스마트 사물이 공존하며 상호소통하는 사물 인터넷 생태계에 적용되기에는 무리가 있는데 그 주요 이유는 다음과 같다.
- 신뢰확보의 문제: 만약 기기들의 신원정보가 중앙서버에 기록된다면 해당 서버를 운영하는 주체에 대한 신뢰의 문제가 발생한다. 중앙관리기관이 임의로 신원 및 인증 정보를 조작할 가능성이 있기 때문이다. 이러한 문제를 해결하기 위해 우리나라의 경우 공인인증서를 발급하는 공인된 인증서 발급기관(CA)이 존재하고 이들은 공인 인증 시스템에 신뢰를 제공한다. 하지만 글로벌 사물 인터넷 생태계에서 수많은 기기들의 신원정보가 소수의 중앙기관에 의존해야 하는데
- 해킹 및 DoS 등의 공격: 해커들이 신원정보가 저장되어 있는 중앙서버에 접근하여 기기의 신원 및 인증정보를 수정하거나 탈취할 수 있다. 중앙 서버는 단일 실패점(single point of failure)으로서 해커에 의해 보안이 깨지면 끝난다.
- 사생활 침해: IoT 기기들은 센서를 통해 주변환경에 대한 정보를 저장하는데 이들 중 많은 수는 노출되는 경우 사생활을 침해할 우려가 있는 데이터이다.
- 비효율성 : 중앙서버는 기본적으로 다중의 보안 레이어를 구현해야 하므로 많은 수의 인력과 높은 비용이 발생하게 된다.
- 확장성 문제:
블록체인을 사용하여 스마트 사물의 신원을 관리하는 예는 다음과 같은 것들이 있다.
- 공유경제(Sharing Economy) : 남는 공간을 다른 사람에게 빌려줄 수 있는 Airbnb와 같은 공유경제 서비스를 생각해보자. Airbnb에 등록되어 있는 아파트의 스마트 자물쇠는 내장된 통신칩을 사용하여 근거리 통신으로 주변의 스마트 기기를 검색하고 블록체인에서 조회하여 그 기기가 해당 아파트에 대한 접근권한을 가지고 있는지를 확인한다. 아파트 자물쇠를 열고 스마트 홈에 연결된 기기들의 사용권한을 풀어준다. 사용하지 않는 차량을 다른 사람들과 공유하는 경우에도 위의 모델이 그대로 적용될 수 있다. 차량 대여자는 스마트 키를 통해 특정 차량에 대한 접근권한을 구매하고 이를 블록체인에서 확인한 차량은 자동으로 문을 열고 시동을 걸 수 있는 상태로 활성화된다.
- 보안 및 안전: 사물 인터넷의 시대에는 우리 주변에 실제로 존재하는 물리적 사물들이 내장된 칩을 통해 주변환경을 변화시킬 수 있어 편리한 점도 많은 반면 보안과 안전이 확보되지 않는 경우 심각한 부작용을 초래할 수 있다. 예를 들어 원자력 발전소에 출입하는 정비 로봇, 군사보안 시설에 군수물자를 실어 나르는 자율주행 트럭, 집집마다 물건을 배달하는 배송드론 등에 대한 신원관리과 제대로 되지 않아 접근권한이 없는 기기들이 보안 및 안전이 최우선으로 유지되어야 하는 장소에 접근하는 경우 심각한 부작용을 초래할 것이라는 것을 알기는 어렵지 않다. 블록체인은 비가역적인 분산 데이터베이스로서 해킹을 통해 데이터를 수정하는 것이 거의 불가능하기 때문에 기존 중앙화된 서비스에 비해 높은 보안 및 안전 수준 유지가 가능하다.
- 데이터 공유 정책 설정: 우리 몸을 돌아다니며 실시간으로 건강상태를 체크하는 스마트 블러드(smart blood)를 생각해보자. 스마트 블러드가 획득한 데이터는 허가받은 의료기기에만 전송되어야 한다. 그렇지 않으면 누구나 나의 가장 민감한 의료정보를 볼 수 있기 때문이다. 스마트 블러드는 블록체인을 조회하여 공유권한이 있는 기기들에게만 데이터를 전송하게 된다. 좀 더 나아가서는 각각의 기기별로 정보 공유의 수준을 설정할 수도 있다. 예를 들어 개인 주치의 같은 경우는 모든 의료정보를 열람할 수 있는 반면 건강관리 어플리케이션같은 경우에는 기본적인 수준의 의료정보만을 열람할 수 있도록 기기의 신원에 따라 세분화된 데이터 공유 정책 설정이 가능하다.
1.2. 사물간 계약
사물 인터넷 시대에는 다양한 IoT 기기들은 내장된 센서를 사용하여 주변환경에 대한 데이터를 수집 및 저장하고 수집된 데이터를 바탕으로 다른 사물들과 다양한 형태의 계약에 자발적으로 참여할 것이다. 이 때 블록체인에 기록된 스마트 컨트랙트를 통해 다양한 사물간 효율적이고 객관적인 계약이 자동화될 수 있을 것이다. 스마트 컨트랙트를 통한 효율적이고 객관적인 계약의 자동화는 인간의 개입이 많아 1. 부정확하고 2. 분쟁의 소지가 크며 3. 비효율적인 현재의 비즈니스 계약들을 대체해나갈 것이다.
- 공급체인(supply chain) : 많은 양의 바나나를 에콰도르에서 수입하는 경우를 가정하자. 해운업체는 지상에서 바나나를 인도받아 이를 컨테이너에 옮겨싣는다. 바나나의 당도는 온도, 습도 및 일조량 등의 주변환경에 많은 영향을 받기 때문에 운송 도중 일정한 온도 및 습도를 유지하는 것이 매우 중요하다. 컨테이너에 설치되어 있는 IoT 센서는 컨테이너 내부의 온도와 습도를 지속적으로 측정하고 이를 저장하며 저장된 정보는 매 30분에서 1시간마다 블록체인 상에 비가역적(immutably)으로 기록된다. 바나나를 최종 소비자에게 판매하는 소매상(retailer)은 블록체인 상에 기록된 정보를 바탕으로 해운업체와 스마트 계약을 체결할 것이다. 운송 도중 적절한 온도와 습도가 유지되었다면 처음에 계약된 금액 전부를 해운업체 지불하며 그렇지 않다면 그 정도에 따라 계약된 금액에서 일부가 차감된 금액만을 지불하는 계약의 내용이 스마트 컨트랙트 상에 적혀있다. 스마트 컨트랙트는 블록체인 상에 기록되어 그 누구도 바꿀 수 없으며 무조건적으로 시행된다.
- 스마트 그리드(smart grid) : 미래에 각 가정이 지붕 및 창문에 설치된 태양광 패널을 통해 스스로 에너지를 생산하는 경우를 생각해보자. 각각의 태양광 패널은 중앙 허브에 연결되어 있어 허브는 1. 패널이 생산하는 에너지 생산량과 2. 가정에서 소모되는 에너지 소비량을 실시간으로 측정한다. 측정된 데이터를 바탕으로 허브는 가정에 필요하거나 남는 에너지의 양을 예측한다. 허브는 분산화된 에너지 스마트 그리드에 연결되어 있어 다른 허브들과 소통하며 예측한 에너지 필요 혹은 잉여량에 따라 주변의 허브들과 스마트 계약을 체결하게 된다. 에너지 생산량이 소비량보다 클 것으로 예상되는 경우에는 추가 에너지를 판매하고 소비량이 더 큰 경우에는 에너지를 미리 구입해 둘 것이다.
- 센서 데이터의 판매 : 미 항공우주국(NASA)이 지구 온난화의 경과를 관찰하기 위해 전 세계의 이산화탄소 및 기타 온실가스의 농도를 측정한다고 가정하자. 전 세계 구석구석에 센서를 직접 설치하려면 많은 인력과 자본이 투입되므로 NASA는 대신 전 세계에 이미 배포되어 있는 온실가스 측정 센서로부터 데이터를 구입하는 방식을 택할 것이다. NASA의 데이터 수집 허브는 각 센서들로부터 그들이 수집한 데이터를 구매하는 스마트 계약을 체결할 것이다. 이 뿐 아니라 자동차에 부착된 센서를 통해 교통량 데이터를 수집하여 판매한다거나 선박에 부착된 센서를 통해 해양 생태계에 대한 데이터를 수집 및 판매하는 등의 다양한 센서 데이터를 스마트 컨트랙트를 통해 사고 팔 수 있을 것이다.
1.3. 기기 경제(Machine Economy)
사물들이 신원을 획득하고 이를 바탕으로 다른 사물들과 계약을 체결하게 되면 이전에는 볼 수 없었던 기기들의 경제 생태계가 구축된다. 각 기기들은 독립적인 경제활동의 주체로서 특정목적(e.g. 수익 극대화)을 달성하기 위해 전략을 설정하고 다양한 종류의 스마트 계약을 독자적으로 체결하게 될 것이다. 예를 들어 자율비행 배송드론의 네트워크 형태로 이루어진 미래의 배송망을 생각해보자. 하나의 중앙화된 기관이 배송드론들을 유지하는 것이 아니라 분산화된 방식으로 누구나 배송드론을 통해 배송 서비스를 제공할 수 있다. 이 때 각각의 드론은 독립된 경제활동의 주체로서 자신이 보유하고 있는 자원으로 수익을 극대화할 수 있는 배송물품 및 경로를 선택하여 이를 바탕으로 배송 계약을 체결할 수 있다.
이러한 기기들의 네트워크가 확산되면 각 기기들이 경제학적 원리에 따라 상호작용하는 기기 경제의 생태계가 만들어 지고 이 가운데 "보이지 않는 손"을 통해 최적의 자원배분이 이루어질 수 있을 것이다.
1.4. 부품 추적 및 관리(Parts Tracking and Management)
자동차, 지하철, 비행기, 원자력 발전소, 초고층 빌딩 등은 수많은 부품들이 상호작용하며 하나의 거대한 사물을 이룬다. 이 때 각 부품들의 안정성을 지속적으로 추적 및 확인하고 문제가 있는 부품들의 교환, 수리하는 것이 매우 중요하다. 자동차를 생산하는 과정에서 블록체인이 어떻게 사용될 수 있는지를 알아보자. 자동차의 각 부품들은 자동차의 안전과 성능에 중요한 역할을 담당하고 있다. IoT 센서들은 각 중요부품들에 설치되어 해당 부품의 안정성을 주기적으로 관찰하고 이를 블록체인에 기록한다. 만약 특정부품의 성능이 지속적으로 저하된다면 해당 제품을 교체하거나 수리할 수 있다. 혹시라도 오작동으로 인해 사고가 발생한다면 사고 당시 어떠한 부품이 오작동했는지 블록체인에 기록된 데이터를 바탕으로 객관적으로 확인할 수 있다.
1.5. 법률 준수 및 책임소재의 명확화(Regulatory Compliance & Accountability)
- 규제 및 법률 준수여부를 객관적으로 판단: 최근에 한국에서 문제가 많았던 원자력 발전소를 생각해보자. 만약 발전소의 중요부품들에 IoT 센서들을 부착하여 안정성을 나타내는 지표를 블록체인에 주기적으로 기록한다면 문제가 발생하였을 경우 어떠한 부품에 문제가 있었는지를 객관적으로 판단할 수 있다. 문제가 있었던 부품을 식별한 후에는 해당 부품을 생산한 업체에게 법적 및 경제적 책임을 물을 수 있고 각종 보험 및 계약 또한 객관적으로 합의할 수 있는 방식으로 이행이 가능하다.
- 책임소재의 명확화: 자동차의 생산라인별로 핵심 데이터를 센서를 통해 획득하고 이를 블록체인에 기록한다. 만약 최종 상품에 문제가 있다면 과연 생산라인의 어느 부분에서 문제가 발생했는지를 블록체인을 조회함으로써 식별이 가능하고 식별된 데이터를 통해 공정과정을 최적화시키고 불량률을 줄일 수 있다.
- 효율적 분쟁해결(conflict resolution): 책임소재를 명확히 함으로써 분쟁의 발생을 줄이고 분쟁이 발생하더라도 효율적으로 분쟁을 해결할 수 있다. 예를 들어 자연재해로 인해 해양 플랜트가 파괴된 경우 블록체인에 기록된 센서 데이터를 통해 당시의 파고 및 기상상황과 플랜트의 기기작동상태를 객관적으로 파악하여 적절한 보험금의 설정이 가능하다.